\section{System Application Programming Interface}

\subsection*{General}
\textbf{Status:} done

The API is the only way to request services from the kernel through the syscall instruction. 

\subsection*{Syscall}
\textbf{Status:} done

The syscall instruction is used to request services from the kernel. Each system call has a code that is passed to the operating system when syscall is executed and then used to figure out what to do. Parameters are passed in the usual registers.

\subsection*{Documentation}
\textbf{Status:} done
	
The API has the shape of C functions programs can call to get something done by the kernel (such as spawning child or printing data to the console...). 

Those functions are properly documented in PORN-OS' \textit{Application Programming Interface documentation}.
